home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2004 #11
/
Amiga Plus CD - 2004 - No. 11.iso
/
AmiSoft
/
Dev
/
cross
/
Annotate.readme
< prev
next >
Wrap
Text File
|
2004-09-23
|
3KB
|
83 lines
Short: Comments/reformats DASMX 2650 cross-disasms
Author: james.jacobs@bigpond.com (James Jacobs)
Uploader: james.jacobs@bigpond.com (James Jacobs)
Version: 1.12
Type: dev/cross
ANNOTATES reformats the output of the DASMX cross-disassembler to make
it more readable (by adding pseudo-C endline comments), and more
compatible with the VACS cross-assembler. Both of those programs are for
the IBM-PC. ANNOTATE is intended for Emerson Arcadia 2001 console
retroprogrammers, although it may be useful in regard to development for
other platforms which also use the Signetics 2650 CPU.
There are six different 'levels' of operation. Each higher level adds
additional annotation; ie. the highest level gives the friendliest, most
detailed output.
1: (a) Convert tabs to spaces.
(b) Convert ",+" and ",-" postincrement/postdecrement notation to "+"
and "-", respectively.
(c) Convert literals to "$x"-style.
(d) Convert labels at $2000 or later to literals.
(e) Convert registers to condition codes for BSNA and BSNR opcodes
(to deal with a bug in VACS).
(f) Append ",r3" to operand after BXA and BSXA opcodes.
(g) Append "end" to end of file.
(h) Remove DASMX comments.
(i) Insert 2650 equates.
2: (a) Append pseudo-C comments.
3: (a) Insert hardware equate definitions.
(b) Convert hardware registers from literals to constants.
4: (a) Append memory purpose information to memory access comments.
5: (a) Insert hardware equate comments.
6: (a) Append byte-lengths of each instruction.
You *must* feed it unmodified DASMX output, which has been disassembled
with the 'numformat I' option.
You use it from the command line. All output from the program goes to the
standard output (normally the console), and thus can be piped or
redirected as desired.
Usage is as follows:
1> Annotate [FILE=]<filename> [LEVEL=<number>] [AMIGA]
The template is:
FILE/A,LEVEL/N,AMIGA/S
FILE is the input filename. LEVEL is the level number as explained above.
The default level is 6 (ie. the most detailed output). The AMIGA keyword
will cause carriage returns found in the input to be omitted on the
output; ie. to use Amiga-style end-of-line (EOL) sequences (LF) rather
than IBM-PC ones (CR+LF). This is more convenient for manipulation of the
output on an Amiga but is not acceptable to VACS.
Output is to the console by default; use redirection to create an
output file. For example:
1> Annotate ROBOTKI1.ASM >ROBOTKI2.ASM
SAS/C source code is included. Also included is an example disassembly of
the Robot Killer game. ROBOTKI1.ASM is the unmodified DASMX output,
disassembled with the 'numformat I' option of course. ROBOTKI2.ASM is the
result of using ANNOTATE on ROBOTKI1.asm, and will assemble under VACS
without any changes required.
Note that zero page addresses (ZBRR and ZBSR) are not translated correctly
by DASMX and will require hand editing.
The EA2001 Patching Guide at http://geocities.yahoo.com/amigansoftware/
patching.txt has detailed information about disassembly, annotation and
patching of EA2001 games.
URL: http://users.bigpond.com/james.jacobs/
EMail: james.jacobs@bigpond.com
Enjoy!
James Jacobs of Amigan Software
11/8/04